In receiver architectures in which a transmitted signal can take multiple paths to arrive at the receiver, such as in a wireless environment, a process known as raking can be used to maximize the accuracy of processing of an incoming signal. In a raking process, multiple raking fingers within a single receiver process different incoming multipath signal copies. Each raking finger produces a signal estimate, which is then weighted according to its predicted accuracy. The weighted estimates from each of the raking fingers are then summed to generate a predicted value for the incoming signal.
When performing a raking process, it is necessary to determine the weights that should be used for the various raking fingers. In order to generate weighting values that accurately reflect the predicted accuracy of each raking finger, it is generally necessary to perform a training process during which a known signal pattern is transmitted. During this training process, the accuracy of each raking finger in detecting the known pattern can be evaluated, and so the weights of each finger can be properly assigned.
In one rake training method, each raking finger includes a code processor that provides an estimated value for the multipath signal incoming to that finger. The code processor does this by comparing wavelets in an incoming signal to locally-generated wavelets. However, in order for such a code processor to produce valid signal estimates, it is necessary for a local clock that generates the local wavelets to be properly synchronized in phase with the clock for the incoming multipath signal. As a result, it is necessary to wait until an acquisition process has been completed before rake training can be performed.
Prior to the completion of the acquisition process, the phase of the local clock is not properly matched to the transmitter clock that created the incoming signal, and may even be constantly altered to allow the acquisition process to identify the phase of the transmitter clock.
It would therefore be desirable to allow for a rake training method that could be performed during an acquisition process. In this way, the weights of the raking fingers could be determined during acquisition, a time period where no data processing could be done regardless. Thus, no time after acquisition would be required for rake training, and the entire data receiving process could be performed more quickly.